package com.zhuiyun.project.api.lottery.service;

import com.zhuiyun.project.api.lottery.entity.Args;
import com.zhuiyun.project.api.lottery.entity.Lottery;
import com.zhuiyun.project.api.lottery.entity.PLSResult;

import java.util.List;
import java.util.Map;

/**
 * @ClassName LotteryService
 * @Description TODO
 * @Author 17179
 * @Date 2024/7/16 15:48
 **/
public interface LotteryService {
    /**
     * 批量保存数据
     * @param lotteryList
     */
    int saveListLottery(List<Lottery> lotteryList);

    /**
     * 查询数据总条数
     * @return
     */
    int selectLotteryCount(String type);

    PLSResult getHundredOne(Args args);

    List<Map> getLotteryNo(String type);
    /**
     * @param args  百位 / 12345 按钮 数列数据组合
     * @return
     */
    PLSResult hundredOTSTF(Args args);

    String getLastLotteryNo(String type);

    String getLastLotteryRes(String type);

    PLSResult getHundredOneReverse(Args args);
    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 百位十位个位  按钮 数列数据组合
     */
    PLSResult getLotteryHTP(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args /百十差 /十个差 /百个差  按钮 数列数据组合
     */
    PLSResult getHundredTenDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args /百十和 /十个和 /百个和  按钮 数列数据组合
     */
    PLSResult getHundredTenSum(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args \百十差 \十个差 \百个差  按钮 数列数据组合
     */
    PLSResult getHundredTenDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args \百十和 \十个和 \百个和  按钮 数列数据组合
     */
    PLSResult getHundredTenSumRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中大 /12345
     */
    PLSResult getSmallMiddleBig(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中大 \12345
     */
    PLSResult getSmallMiddleBigRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中差、中大差、小大差 /12345
     */
    PLSResult getSmallMiddleBigDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中差、中大差、小大差 \12345
     */
    PLSResult getSmallMiddleBigDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中和、中大和、小大和的数据 /12345
     */
    PLSResult getSmallMiddleBigSum(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中和、中大和、小大和的数据 \12345
     */
    PLSResult getSmallMiddleBigSumRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 1-8胆 /12345
     */
    PLSResult getOneAndEight(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 1-8胆 \12345
     */
    PLSResult getOneAndEightRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 3-7胆 /12345
     */
    PLSResult getThreeAndSeven(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 3-7胆 \12345
     */
    PLSResult getThreeAndSevenRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 5-6胆 /12345
     */
    PLSResult getFiveAndSix(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 5-6胆 \12345
     */
    PLSResult getFiveAndSixRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 4-2胆 /12345
     */
    PLSResult getFourAndTwo(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 4-2胆 \12345
     */
    PLSResult getFourAndTwoRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 0-9胆 /12345
     */
    PLSResult getZeroAndNine(Args args);


    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 0-9胆 \12345
     */
    PLSResult getZeroAndNineRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 1-8差胆 /12345
     */
    PLSResult getOneAndEightDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 1-8差胆 \12345
     */
    PLSResult getOneAndEightDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 3-7差胆 /12345
     */
    PLSResult getThreeAndSevenDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 3-7差胆 \12345
     */
    PLSResult getThreeAndSevenDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 5-6差胆 /12345
     */
    PLSResult getFiveAndSixDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 5-6差胆 \12345
     */
    PLSResult getFiveAndSixDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 4-2差胆 /12345
     */
    PLSResult getFourAndTwoDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 4-2差胆 \12345
     */
    PLSResult getFourAndTwoDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 0-9差胆 /12345
     */
    PLSResult getZeroAndNineDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 0-9差胆 \12345
     */
    PLSResult getZeroAndNineDifferenceRollBack(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 百十个位差
     */
    PLSResult getLotteryHTPDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 百十个位和
     */
    PLSResult getLotteryHTPSum(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中大
     */
    PLSResult getLotteryHTPOrderBy(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 小中大差
     */
    PLSResult getLotteryHTPOrderByDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 大中小和
     */
    PLSResult getLotteryHTPOrderBySum(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 振幅差
     */
    PLSResult getLotteryHTPOrderByAmplitudeDifference(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 振幅和
     */
    PLSResult getLotteryHTPOrderByAmplitudeSum(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 和尾
     */
    PLSResult getLotteryHTPAndTails(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 号码组合形态
     */
    PLSResult getNumberCombination(Args args);

    /**
     * @Author 李中博、张博童
     * @Description
     * @Date 2024/9/18 15:52
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param args 单选间隔
     */
    PLSResult getSingleChoiceInterval(Args args);

    int getNewLottery();
}
